Programming Questions for Practice
Write a function to test whether a given number is a Disarium number.
#include <stdio.h>
#include <stdlib.h>
int power(int number, int powerNumber) {
int result = number;
while(powerNumber > 1) {
result = result * number;
powerNumber--;
}
}
void isDisarium(int number) {
int length = 0, sum = 0, lastDigit;
int number_copy = number;
while(number > 0) {
length++;
number /= 10;
}
number = number_copy;
while(number > 0) {
lastDigit = number % 10;
sum = sum + power(lastDigit, length);
number = number / 10;
length--;
}
if(number_copy == sum)
printf("%d is a Disarium number", number_copy);
else
printf("%d is not a Disarium number", number_copy);
}
int main()
{
int number;
printf("Enter any number: ");
scanf("%d", &number);
isDisarium(number);
return 0;
}
import java.util.Scanner;
public class NumberTest {
static void isDisarium(int number) {
int number_length = String.valueOf(number).length();
int sum = 0;
int number_copy = number;
while(number_length > 0) {
int lastDigit = number % 10;
sum = sum + (int)Math.pow(lastDigit, number_length);
number_length--;
number = number / 10;
}
if(sum == number_copy)
System.out.println(number_copy + " is a Disarium number");
else
System.out.println(number_copy + " is not a Disarium number");
}
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
System.out.print("Enter any decimal number: ");
int number = read.nextInt();
isDisarium(number);
}
}
def isDisarium(number):
number_copy = number
length = len(str(number))
sum = 0
while (length > 0):
digit = number % 10
sum = sum + digit ** length
length = length - 1
number = number // 10
if(sum == number_copy):
print(f"{number_copy} is Disarium number")
else:
print(f"{number_copy} is not Disarium number")
isDisarium(175)